In a hardware/software co-design processor, a compiler optimizes binary codes for a target processor with runtime profiling information, and the target processor, such as a very large instruction word (VLIW) processor, executes the optimized codes in an efficient way.
It is known that many programs use only some functional units of a processor, and leave other units idle for a long time. The idle units still consume power due to leakage current although the units are not used. In addition, as semiconductor technology scales down, leakage power takes an increasingly large portion of total power dissipation. Currently, there are not effective techniques to reduce the power consumption, especially from the leakage power, when functional units are not being used.